/**
 * Created by FDG296 on 2017/8/30.
 */
$(document).ready(function(){
    $.fn.dataTable.ext.errMode = 'none';
    $('#table_list').on( 'error.dt', function ( e, settings, techNote, message ) {
        $.jBox.error(GLOBAL_DATATBALE_ERROR_302, '错误');
        return false;
    } ).DataTable({
        dom: '<"top">rt<"bottom"flip><"clear">',
        language: {
            "sUrl":'/static/plugins/datatables/language.json'
        },
        "scrollX": true,
        "searching": false,
        "processing": true,
        "serverSide": true,
        ajax:{
            url:'/sys-setting/get-config-list',
            type:'post',
            data:function(d){
                d.search_config_title = $('#search_config_title').val();
                d.search_config_group_name = $('#search_config_group_name').val();
            },
            error:getError
        },
        aoColumns: [
            { "data": "", "bSortable": false},
            { "data": "id", "bSortable": true},
            { "data": "config_title", "bSortable":false },
            { "data": "config_key", "bSortable":false },
            { "data": "config_value", "bSortable":false },
            { "data": "config_group_name", "bSortable":false },
            { "data": "sort", "bSortable":true },
            { "data": "memo", "bSortable":false },
            { "data": "use_flg", "bSortable":false }
        ],
        columnDefs: [
            {
                "targets": [0],
                "render": function(data, type, full) {
                    return '<a href="javascript:" onclick="updateConfig('+ full.id +')">修改</a>';
                }
            },
            {
                "targets": [8],
                "data": "use_flg",
                "render": function(data, type, full) {
//                    var  title = '';
//                    if(data == 1){
//                        title = '禁用';
//                    }else{
//                        title = '启用';
//                    }
//                    return '<a href="javascript:" onclick="statusClick('+ full.id +','+ data + ')">' + title + '</a>';
                	return '<span class="switch" data-id="'+ full.id +'" data-flg="'+data+'"><input  style="width:20px;height:20px;" type="checkbox" '+(data == 1 ? 'checked="checked"' : '')+' class="input-check"></span>';
                }
            }
        ],
        order: [[ 1, "desc" ]]                      //初始指定排序字段
    });
});

//查询处理
$('#select_button').click(function(){
    var table = $('#table_list').DataTable();
    table.ajax.reload();
})

$('#reset_button').click(function(){
    $('#search_config_title').val('');
    $('#search_config_group_name').val('');
    var table = $('#table_list').DataTable();
    table.ajax.reload();
})

$('#add_button').click(function(){
    restInput();
    $('#myModal').modal('show');
})


$('#config_group_name').change(function(){
    var config_group_id = $('#config_group_name').val();

    if(config_group_id == '_new_'){
        $('#new_config_group_id').show();
        $('#new_config_group_name').show();
    }else{
        $('#new_config_group_id').hide();
        $('#new_config_group_name').hide();
    }
})

//重置表单
function restInput(){
    $('#config_id').val('');
    $('#config_title').val('');
    $('#config_key').val('');
    $('#config_value').val('');
    $('#config_group_name').val('');
    $('#new_config_group_id').val('');
    $('#new_config_group_id').hide();
    $('#new_config_group_name').val('');
    $('#new_config_group_name').hide();
    $('#sort').val(1);
    $('#memo').val('');
    $('#use_flg').val(1);
    $('#config_title').attr('readonly',false);
    $('#config_key').attr('readonly',false);
    $('#config_group_name').attr('disabled',false);
}

$('.ajax_submit').click(function(){
    var config_title = $('#config_title').val();
    var config_key = $('#config_key').val();
    var config_value = $('#config_value').val();
    var config_group_name = $('#config_group_name').val();
    var new_config_group_id = $('#new_config_group_id').val();
    var new_config_group_name = $('#new_config_group_name').val();
    if(config_title == ''){
        $.jBox.error('请输入配置名称', '错误');
        return false;
    }

    if(config_key == ''){
        $.jBox.error('请输入配置KEY', '错误');
        return false;
    }

    if(config_value == ''){
        $.jBox.error('请输入配置VALUE', '错误');
        return false;
    }

    if(config_group_name == '' && new_config_group_name == ''){
        $.jBox.error('请选择分组', '错误');
        return false;
    }

    if(config_group_name == '新建分组' && new_config_group_name == ''){
        $.jBox.error('请输入新的分组名称', '错误');
        return false;
    }
    $.post($('#config_form').attr('action'),$('#config_form').serialize(),success,'json');
    return false;
    function success(data){
        if(data.code == 200)
        {
            $.jBox.tip('处理成功', 'success');
            /**
             * 2017-09-06
             * 修改人：zenan.li FDG348
             * 修改内容：系统设置修改和保存的时候只局部刷新
             */
//            window.setTimeout(function(){
//                self.location.reload();
//            }, 1000);
            $('#myModal').modal('hide');
            window.setTimeout(function () { table_list_reload(); }, 1000);
        }
        else{
            $.jBox.error(data.val, '错误');
        }
    }
});

function table_list_reload(){
    var table = $('#table_list').DataTable();
    table.ajax.reload();
}

function updateConfig(id){
    $('#config_id').val(id);
    $.post('/sys-setting/get-config-detail',{id:id},success,'json');
    return false;
    function success(data){
        if(data.code == 200)
        {
            var result = data.val;
            $('#config_title').val(result.config_title);
            $('#config_title').attr('readonly','readonly');
            $('#config_key').val(result.config_key);
            $('#config_key').attr('readonly','readonly');
            $('#config_value').val(result.config_value);
            //重新加载分组数据
            var group_arr = result.group_arr;
            $("#config_group_name").empty();
            $("#config_group_name").append("<option value=''>请选择分组</option>");
            group_arr.forEach(function(val,index){
                $("#config_group_name").append("<option value='" + val['config_group_id'] + "'>" + val['config_group_name'] + "</option>");
            });
            $("#config_group_name").append("<option value='_new_'>新建分组</option>");
            $('#config_group_name').val(result.config_group_id);

            $('#new_config_group_name').hide();
            $('#new_config_group_id').hide();
            $('#config_group_name').attr('disabled',true);
            $('#sort').val(result.sort);
            $('#use_flg').val(result.use_flg);
            $('#memo').val(result.memo);
            $('#myModal').modal('show');
        }
        else{
            $.jBox.error(data.val, '错误');
        }
    }
}

//启用禁用
function statusClick(id,use_flg){
    var title = '';
    var postUrl = '/sys-setting/change-config-useflg';

    if(use_flg == 1){
        title = '确定禁用吗？';
        use_flg = 0;
    }else{
        title = '确定启用吗？';
        use_flg = 1;
    }

    $.jBox.confirm(title, "提示", function(v){
        if (v == 'ok'){
            $.post(postUrl,{id:id,use_flg:use_flg},success,'json');
            return false;
            function success(data){
                $.jBox.close();                             //关闭对话框
                if(data.code == 200)
                {
                    $.jBox.tip('处理成功', 'success');
                    window.setTimeout(function () {
                        table_list_reload();
                    }, 1000);
                }
                else{
                    $.jBox.error(data.val, '错误');
                }
            }
        }else{
        	if(use_flg == 1){
        		$('#table_list').find('span[data-id='+id+']').children('input').prop('checked',false);
        	}else{
        		$('#table_list').find('span[data-id='+id+']').children('input').prop('checked',true);
        	}
            $.jBox.close();
        }
    });
}

$('#table_list').on('click','.input-check',function(){
	var id = $(this).parent().attr('data-id');
	var use_flg = $(this).parent().attr('data-flg');
	statusClick(id,use_flg);
});